Skip to content

Add ChatGPT Agents SDK and Amazon Bedrock AgentCore cookbook - #3057

Open
rohan-eliza wants to merge 1 commit into
openai:mainfrom
eliza-hq:main
Open

Add ChatGPT Agents SDK and Amazon Bedrock AgentCore cookbook#3057
rohan-eliza wants to merge 1 commit into
openai:mainfrom
eliza-hq:main

Conversation

@rohan-eliza

Copy link
Copy Markdown

Summary

Adds an end-to-end Cookbook example for building a private ChatGPT flight-assistant plugin with the OpenAI Agents SDK and Amazon Bedrock AgentCore.

The contribution includes:

  • a runnable notebook and self-contained setup guide;
  • a validated, read-only MCP adapter and ChatGPT widget;
  • local and optional deployed AgentCore Runtime execution paths;
  • Secure MCP Tunnel guidance;
  • AWS-default and optional dual tracing;
  • credential-free Promptfoo evaluations and an optional AWS-native evaluation path;
  • least-privilege IAM and publication-boundary documentation.

The content is isolated under examples/partners/AWS/chatgpt_agents_sdk_aws_agentcore_cookbook/. A matching registry.yaml entry publishes the notebook on the Cookbook site.

Motivation

Enterprise developers often need to connect ChatGPT to privately hosted tools without exposing a public MCP endpoint or assuming broad AWS permissions. This example provides a reproducible, least-privilege workflow with explicit credential, tracing, evaluation, and operational boundaries.

Validation

  • 131 Python tests passed.
  • Ruff check and format checks passed.
  • Pyright passed with 0 errors.
  • 69 MCP adapter tests passed.
  • MCP adapter build and TypeScript typecheck passed.
  • 58 Promptfoo runner/assertion tests passed.
  • Promptfoo offline and actual-agent configurations validated.
  • 15 credential-free Promptfoo evaluation cases passed.
  • The source notebook executed top to bottom with live AWS and agent-evaluation gates disabled.
  • The OpenAI Cookbook notebook validator passed.
  • Registry metadata parses and resolves to the new notebook.
  • Local Markdown and notebook links resolve.
  • The staged publication tree passed credential and private-path scans.

Live AWS, OpenAI trace export, and hosted Secure MCP Tunnel calls were not rerun as part of this public-repository copy; those paths remain explicitly opt-in and credential-gated.

Risk and rollback

The change adds a self-contained example plus one registry entry and does not modify existing examples. It can be rolled back by reverting the contribution commit.


For new content

  • I have added a new entry in registry.yaml (and, optionally, in authors.yaml) so that my content renders on the cookbook website.
  • I have conducted a self-review of my content based on the contribution guidelines:
    • Relevance: This content is related to building with OpenAI technologies and is useful to others.
    • Uniqueness: I reviewed the existing AWS partner examples and verified that this contribution adds a distinct ChatGPT, Secure MCP Tunnel, tracing, and evaluation workflow.
    • Spelling and Grammar: I reviewed the changed Markdown and notebook Markdown cells with the repository's docs-editor checklist.
    • Clarity: I completed a final read-through and verified that the submission is organized as an end-to-end workflow.
    • Correctness: Credential-free tests and notebook execution pass; credentialed paths are clearly labeled and gated.
    • Completeness: Required setup, environment variables, security boundaries, validation, and references are documented.

@rohan-eliza
rohan-eliza requested a review from a team as a code owner September 3, 2026 17:15
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-03T17:22:06.884030Z 134c485 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 134c4852ef

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Stop if the account or principal is not the one returned by the access request.
If the enterprise uses the default AWS credential chain, omit `AWS_PROFILE`.

Run the read-only observability preflight before a credentialed invocation:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Document permissions needed by the required preflight

With the documented least-privilege local telemetry role, this required preflight cannot succeed: the policy only grants publishing plus logs:DescribeLogStreams, while aws-observability-preflight.sh also calls xray:GetTraceSegmentDestination, logs:DescribeResourcePolicies, logs:DescribeLogGroups, and servicequotas:ListServiceQuotas, and exits nonzero if any is denied. The linked verification policy only adds Logs Insights actions, so users following the access matrix still lack these prerequisites; either document/grant the additional read actions or specify that a separately privileged verifier must run this step.

Useful? React with 👍 / 👎.

@sylvesterkaczmarek sylvesterkaczmarek left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One mismatch I noticed: the MCP tool schema accepts any three-character origin/destination, while RuntimeRequestSchema requires ^[A-Z]{3}$. A value like lhr therefore passes tool validation and then fails inside provider.call(). Could the tool boundary reuse the same airport-code schema or normalise to uppercase?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants